A security (or authentication) token is traditionally a small device that a user carries to authorize access to a network service. The device may be in the form of a smart card or tag or provided in some other form factor. Generally, security tokens may provide an extra level of assurance, where the user provides a personal identification number (PIN) (which authorizes the user as the owner of that particular device), and the device generates an integrity code that may be used to authenticate the user to the service, allowing the user to log in. A single token, however, is typically limited to one particular purpose or performs the exact same set of operations (for each valid set of PIN and challenge) to generate a challenge response (e.g., in the form of an integrity code). Moreover, typical self-powered short-range wireless tokens have a very short life or need to have their batteries replaced frequently—an issue that results from a waste of processing power, memory, power, or other computer resources for computations that are unnecessary in certain circumstances (e.g., when the challenge itself is inaccurate). These and other drawbacks exist.